package game_logic;

/**
 * 控制游戏进程，包括: 游戏开始、暂停、移动棋子
 */
public interface Controller {
    /**
     * 游戏开始
     */
    void gameStart();

    void gameViewUpdate();

    /**
     * 游戏暂停
     */
    void gamePause();

    /**
     * 游戏继续
     */
    void gameContinue();

    /**
     * 将位置 S 的棋子移动到位置 T，返回是否移动成功。如果棋手移动了别人的棋子，那么提出警告
     *
     * @param sx 位置 S 的横坐标
     * @param sy 位置 S 的纵坐标
     * @param tx 位置 T 的横坐标
     * @param ty 位置 T 的纵坐标
     * @return 是否移动成功
     */
    boolean move(int sx, int sy, int tx, int ty);

    int getWhoWin();
}
